#ifndef SETTINGS_H
#define SETTINGS_H

#include <QColor>
#include <QSettings>

enum class SettingColor {
  elf_header_color,
  program_table_color,
  section_header_color,
  symbol_color,
  dysymbol_color,
};

class Settings {
public:
  static Settings *instance();
  QColor getColor(SettingColor color);
  void getAllColor(QColor &elf_header, QColor &program_table,
                   QColor &section_header, QColor &symbol, QColor &dysymbol);
  void saveColor(SettingColor color, QColor newcolor);
  void saveAllColor(QColor elf_header, QColor program_table,
                    QColor section_header, QColor symbol, QColor dysymbol);
  void setAddMetadata(bool b);
  bool addMetadata();

private:
  Settings();
  QColor elf_header_color, program_table_color, section_header_color,
      symbol_color, dysymbol_color;
  bool addmeta = true;
  static Settings *m_instance;
};

#endif // SETTINGS_H
